package weixintozfbrouter

import (
	"github.com/gin-gonic/gin"
	"yundian/internel/app/handlers/alipay"
	"yundian/internel/app/handlers/pcl/admin/stewarduploadhandler"
	"yundian/internel/app/handlers/steward/zmsc/stewardapplet"
	"yundian/internel/app/middlewares"
	"yundian/internel/pkg/dingo"
)

func InitWeixinRouter() dingo.ApiRouter {
	return func(g *gin.RouterGroup) {
		{
			//携程对接接口

			// 不需要授权的api
			// login
			g.GET("wx/login", stewardapplet.HandleLogin)
			g.GET("wx/device-info", stewardapplet.GetDeviceInfo)    // 获取设备详情
			g.GET("wx/dev-info", stewardapplet.GetDevInfo)          // 获取设备详情
			g.GET("wx/room-dev-info", stewardapplet.GetRoomDevInfo) // 获取设备详情

			//g.POST("wx/close-order", stewardapplet.HandleCloseOrderTest) // 订单完结测试
			//g.POST("wx/certs", stewardapplet.HandleGetWxCerts) // 获取微信平台证书列表测试
			//g.POST("wx/order-complete", stewardapplet.HandlePayscoreComplete) // 支付分订单完结测试
			//g.POST("wx/order-complete", stewardapplet.HandlePayscoreComplete) // 支付分订单完结测试
			//g.POST("wx/order-complete-test", stewardapplet.HandlePayscoreCompleteTest) // 支付分订单完结测试
			//g.POST("wx/order-sync", stewardapplet.HandlePayScoreSync)                  // 支付分订单同步测试

			r := g.Group("wx")
			r.Use(middlewares.JwtZfbAuthMiddleware) // 加载中间件 - 授权需要登录

			r.POST("roomVendingConfirm", stewardapplet.RoomVendingConfirm)

			r.POST("get-project-coupon", stewardapplet.GetPriceDetail) //项目领取优惠券

			// get member info
			r.GET("member-info", stewardapplet.HandleMemberInfo)    // 获取用户信息
			r.POST("member-phone", stewardapplet.HandleMemberPhone) // 获取用户信息
			r.GET("user-info-by-openid", stewardapplet.HandleGetUserInfoByOpenId) // 获取用户信息

			r.GET("member-info-by-openid", stewardapplet.HandleGetMemberInfoByOpenidAndAppid)
			r.POST("member-cash-submit", stewardapplet.HandleSumbitCashSubmitZfb)


			// pay - 微信支付平台交互
			r.POST("unified-order", stewardapplet.HandleUnifiedOrder) // 统一下单
			//r.POST("order-query", stewardapplet.HandleOrderQuery)          // 查询订单
			//r.POST("micro-pay", stewardapplet.HandleMicropay)              // 提交付款码支付
			//r.POST("close-order", stewardapplet.HandleCloseOrder)          // 关闭订单

			//r.POST("refund", stewardapplet.HandleEndOrder) // 申请退款-结束订单
			r.POST("refund", alipay.HandleAliPayEndOrder) // 申请退款-结束订单

			//r.POST("reverse", stewardapplet.HandleReverse)                 // 撤销订单
			//r.POST("refund-query", stewardapplet.HandleRefundQuery)        // 查询退款
			//r.POST("download-bill", stewardapplet.HandleDownloadBill)      // 下载对账单
			r.POST("award-time", stewardapplet.HandleUpdateAwardTimeOrder) // 计费时长更新 激励广告

			// payscore - 微信支付分支付
			r.POST("payscore-order", stewardapplet.HandlePayScoreOrder) // 微信支付分创建订单

			r.POST("get-price-detail", stewardapplet.HandleGetPriceDetail)

			// order
			r.GET("orders", stewardapplet.GetOrderList)
			r.GET("order-detail", stewardapplet.GetOrderDetail)
			r.POST("close-trade", stewardapplet.CloseTrade)
			r.POST("order-check", stewardapplet.HandleCheckOrderStatus)           // 检验订单状态
			r.POST("order-info", stewardapplet.HandleGetOrderInfo)                // 订单详情
			r.POST("order-remind-rss", stewardapplet.HandleOrderRemindRss)        // 微信订阅 订单归还提醒
			r.POST("fixed-remind-rss", stewardapplet.HandleFixedRemindRss)        // 微信订阅 好评提醒
			r.POST("get-fixed-remind-rss", stewardapplet.HandleGetFixedRemindRss) // 微信订阅-好评提醒-校验查询

			// device
			r.POST("dev-password", stewardapplet.GetDevicePassword)                 // 设备密码
			r.POST("reset-dev-password", stewardapplet.ResetDevPassword)            // 设备密码
			r.POST("dev-usetime", stewardapplet.GetDeviceUseTime)                   // 二次扫描获取使用时长，密码
			r.POST("dev-password-verify", stewardapplet.DevPasswordVerifyCRC16) // 设备密码CRC16校验

			// upload
			r.POST("upload", stewardapplet.UploadImage)
			r.POST("upload-img", stewarduploadhandler.HandleStewardUploadGoodsImg)
			r.POST("ali-oss-upload", stewardapplet.AliOssUploadImage)

			r.POST("report", stewardapplet.HandleInsertReport)            // 故障申报
			r.POST("place-report", stewardapplet.HandleInsertPlaceReport) // 门店投诉建议

			r.POST("add-bluetooth-recharge-log", stewardapplet.HandleInsertBluetoothRechargeLog) // 蓝牙充电日志

			r.POST("add-wy-log", stewardapplet.HandleInsertWyLog)               // 往约点击日志
			r.POST("add-service-log", stewardapplet.HandleInsertLiveServiceLog) // 服务点击日志

			//-----------法大大对接接口------------

			// 注册账号
			g.POST("accountRegister", stewardapplet.HandleAccountRegister)

			//实名信息哈希存证
			g.POST("hashDeposit", stewardapplet.HandleHashDeposit)

			g.POST("getPersonVerifyUrl", stewardapplet.GetPersonVerifyUrl)

			//合同上传
			g.POST("uploadDocs", stewardapplet.UploadDocs)

			//查看合同
			//g.POST("viewContract", stewardapplet.ViewContract)

			//合同下载
			g.POST("downLoadContract", stewardapplet.DownLoadContract)

			//模板上传
			g.POST("uploadTemplate", stewardapplet.UploadTemplate)

			//模板填充
			g.POST("generateContract", stewardapplet.GenerateContract)

			g.POST("contractFiling", stewardapplet.ContractFiling)

			g.POST("wx/add-scan-log", stewardapplet.HandleInsertScanLogs) // 扫码日志
			// 扫码日志
			g.POST("add-scan-log", stewardapplet.HandleInsertScanLogs)
		}
	}
}
